DISTINCT vo viacerych stlpcoch
Otázka od: Ludo Fulop
20. 10. 2002 0:31
zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
kombinaciu hodnot napr. z troch stlpcov?
Ludo Fulop
Odpovedá: Martin Kozusky
21. 10. 2002 8:32
Neni to nejak takto: (nebo podobne
SELECT distinct(sl1,sl2,sl3) from tabulka where blabla
Martin
----- Original Message -----
From: "Ludo Fulop" <kexo@ynet.sk>
Newsgroups: cz.muni.redir.delphi
To: "Delphi Konfera" <delphi-l@clexpert.cz>
Sent: Sunday, October 20, 2002 1:28 AM
Subject: DISTINCT vo viacerych stlpcoch
> zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
> kombinaciu hodnot napr. z troch stlpcov?
> Ludo Fulop
>
Odpovedá: Roland Turcan
21. 10. 2002 8:45
<<< 21. 10. 2002 8:52 - Ludo Fulop "kexo@ynet.sk" >>>
LF> zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
LF> kombinaciu hodnot napr. z troch stlpcov?
LF> Ludo Fulop
select distinct stlpec1,stlpec2,stlpec3 ...
distinct hovori o tom ze riadok musi byt jedinecny
--
Best regards, TRoland
http://www.rotursoft.sk
Odpovedá: Ing. Pavel Žilinec
21. 10. 2002 10:00
To ano, ale nejde o kombinace, jak chtel Ludo, tj. aby radky
1, 2, 3
3, 2, 1
2, 1, 3
... daly jen jeden vysledek (napr. 1, 2, 3), coz distinct neudela, pze
pro nej jsou vsechny radky vyhovujici
Ja osobne nevim, jak by to slo rozumne udelat. Resenim, ktere
mne napadlo, by bylo rozsireni struktury o X (bit), ktere by
oznacovalo jeden zaznam v kombinaci pro vyber.
Pak bys ale musel zajistit, ze pri vkladani kombinacnich poli A, B, C
by si vsechny stejne kombinace oznacil na 0 a tuto na 1 (a bude
zajistena jedinecnost).
Delat by to slo i pri vyberu, ale asi by to bylo mnohem slozitejsi a
zrejme i prilis zdlouhave pro vsechny zaznamy.
(oprava na 0)
update T
set B = 0
where (A = @A and B = @B and C = @C) or
(A = @B and B = @C and C = @A) or
... pro vsechny kombinace
Pak by pro vyber stacilo napsat
select *
from T
where B = 1
Pokud ma nekdo jiny napad, vcelku by mne zajimalo, jak to lze jeste
vyresit. Toto mi pripadne moc slozite
--------
ing. Pavel Zilinec
MailTo:zilinec@email.cz
Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju
RT> <<< 21. 10. 2002 8:52 - Ludo Fulop "kexo@ynet.sk" >>>
LF>> zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
LF>> kombinaciu hodnot napr. z troch stlpcov?
LF>> Ludo Fulop
RT> select distinct stlpec1,stlpec2,stlpec3 ...
RT> distinct hovori o tom ze riadok musi byt jedinecny